var permute = function(nums) {
    let res = []
    const dfs = (path) => {
        if(path.length == nums.length) {
            res.push(path)
            return
        } 
        nums.forEach(n => {
            if(!path.includes(n)) {
                dfs(path.concat(n))
            }
        })
    }
    dfs([])
    return res
};
// 时间复杂度：O(n! * n)
// 空间复杂度：O(n)